<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
    <title>Audio Network - data transmission over sound waves</title>

    <meta name="description" content="">

    <link rel="stylesheet" type="text/css" href="../../asset/css/simple-bootstrap.css">
    <link rel="stylesheet" type="text/css" href="../../asset/css/example.css">
    <link rel="stylesheet" type="text/css" href="../00-00-00-common/ui/editable-float.css">
    <link rel="stylesheet" type="text/css" href="wave-generator-wave-analyser.css">
    <script src="../../asset/js/site.js"></script>
    <meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body onLoad="init(true, 2048)">

    <div id="fb-root"></div>
    <script>
        if (isProduction()) { // TODO refactor this
            (function(d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) return;
                js = d.createElement(s); js.id = id;
                js.src = "//connect.facebook.net/pl_PL/sdk.js#xfbml=1&version=v2.7&appId=726972757440597";
                fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
        }
    </script>

    <div class="wrapper">

        <div class="container">
            <h1>Audio Network - send data over sound in JavaScript</h1>
            <div class="row margin-bottom">
                <div class="col col-xs-12">
                    <div class="fb-like-cont">
                        <a href="https://www.facebook.com/Data-transmission-over-sound-500422050157351/" target="_blank" class="a-icon a-icon-fb">
                            <img src="/asset/image/fb.png" alt="Audio Network at Facebook">
                        </a>
                        <div class="fb-like" data-href="https://www.facebook.com/Data-transmission-over-sound-500422050157351/" data-layout="button" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div>
                    </div>
                    <p class="text-right">
                        Return to <a href="https://audio-network.rypula.pl">main page</a>
                    </p>
                    <p class="larger text-center">
                        THIS PROJECT IS STILL UNDER DEVELOPMENT<br/>
                        Source code available at <a href="https://github.com/robertrypula/AudioNetwork" target="_blank">GitHub</a>
                    </p>
                </div>
            </div>

            <!-- ---------------- -->

            <div class="row margin-bottom">
                <div class="col col-xs-12">
                    <p>
                        This example shows how to use Wave Generator and Wave Analyser classes
                        <!--<strong>Remeber to click on initialization buttons first!</strong>-->
                    </p>
                </div>
            </div>

            <div class="row margin-bottom">
                <div class="col col-xs-12">

                    <!--<div class="row margin-bottom-double" id="init-button-container">-->
                        <!--<div class="col col-xs-6 col-sm-5 col-md-3">-->
                            <!--<label>Init AudioMonoIO</label>-->
                        <!--</div>-->
                        <!--<div class="col col-xs-6 col-sm-7 col-md-6">-->
                            <!--<button onClick="init(false, 2048)" class="btn btn-default">2048</button>-->
                            <!--<button onClick="init(false, 8192)" class="btn btn-default">8192</button>-->
                            <!--<button onClick="init(false, 16384)" class="btn btn-default">16384</button>-->
                        <!--</div>-->
                    <!--</div>-->

                    <!--<div class="row margin-bottom-double" id="init-lite-button-container">-->
                        <!--<div class="col col-xs-6 col-sm-5 col-md-3">-->
                            <!--<label>Init AudioMonoIOLite (experimental)</label>-->
                        <!--</div>-->
                        <!--<div class="col col-xs-6 col-sm-7 col-md-6">-->
                            <!--<button onClick="init(true, 2048)" class="btn btn-default">2048</button>-->
                            <!--<button onClick="init(true, 8192)" class="btn btn-default">8192</button>-->
                            <!--<button onClick="init(true, 16384)" class="btn btn-default">16384</button>-->
                        <!--</div>-->
                    <!--</div>-->

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label for="loopback-checkbox" class="label-compact">
                                Loopback
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <input
                                type="checkbox"
                                onChange="onLoopbackCheckboxChange()"
                                id="loopback-checkbox"
                                value="1" />
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label for="loopback-checkbox" class="label-compact">
                                Sample rate
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6" id="sample-rate"></div>
                    </div>

                    <h2>Wave Generator</h2>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label for="tx-activated" class="label-compact">
                                Activated
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <input
                                type="checkbox"
                                onChange="onTxActivatedCheckboxChange()"
                                id="tx-activated"
                                value="1" />
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label>
                                Tx frequency
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <div class="clearfix margin-bottom">
                                Hertz:
                                <div id="tx-frequency-hertz"></div>
                            </div>
                            <div class="clearfix margin-bottom">
                                Samples per period:
                                <div id="tx-frequency-sample-per-period"></div>
                            </div>
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label>
                                Tx amplitude
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6" id="tx-amplitude"></div>
                    </div>
                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label>
                                Tx phase
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6" id="tx-phase"></div>
                    </div>

                    <h2>Wave Analyser</h2>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label for="rx-activated" class="label-compact">
                                Activated
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <input
                                type="checkbox"
                                id="rx-activated"
                                checked="checked"
                                value="1" />
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label>
                                Rx window size [samples]
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6" id="rx-window-size"></div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label>
                                Rx frequency
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <div class="clearfix margin-bottom">
                                Hertz:
                                <div id="rx-frequency-hertz"></div>
                            </div>
                            <div class="clearfix margin-bottom">
                                Cycles per window:
                                <div id="rx-frequency-cycle-per-window"></div>
                            </div>
                            <div class="clearfix margin-bottom">
                                Samples per period:
                                <div id="rx-frequency-sample-per-period"></div>

                            </div>
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                            <label for="rx-window-function" class="label-compact">
                                Apply window function
                            </label>
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <input
                                type="checkbox"
                                onChange="onRxWindowFunctionChange()"
                                id="rx-window-function"
                                value="1" />
                        </div>
                    </div>

                    <div class="row margin-bottom-double">
                        <div class="col col-xs-6 col-sm-5 col-md-3">
                        </div>
                        <div class="col col-xs-6 col-sm-7 col-md-6">
                            <div id="log" class="margin-bottom"></div>

                            <div class="power-bar margin-bottom">
                                <div class="power-bar-inner-0" id="power-bar"></div>
                            </div>

                            <!-- TODO acctually it's a phasor diagram -->
                            <div class="constellation-diagram">
                                <div class="constellation-diagram-inner-0" id="phase">
                                    <div class="constellation-diagram-inner-1"></div>
                                </div>
                            </div>
                        </div>
                    </div>

                </div>
            </div>

            <!-- ---------------- -->

            <script>
                if (isProduction()) { // TODO refactor this
                    document.write('<div class="fb-comments" data-href="' + window.location.href + '" data-numposts="5"></div>');
                }
            </script>

        </div>

        <footer>
            <div class="row">
                <div class="col col-xs-12">
                    <div class="copyright">Robert Rypuła 2015-2018</div>
                </div>
            </div>
        </footer>

    </div>

    <script src="https://cdn.rypula.pl/audio-network/v1.3.2/audio-network-v1.3.2.min.js"></script>

    <script src="../00-00-00-common/ui/editable-float.js"></script>
    <script src="wave-generator-wave-analyser.js"></script>

    <script>
        if (isProduction()) { // TODO refactor this
            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

            ga('create', 'UA-76662342-1', 'auto');
            ga('send', 'pageview');
        }
    </script>

</body>
</html>
